Load required libraries

library("hdxstats")
library("dplyr")
library("ggplot2")
library("RColorBrewer")
library("tidyr")
library("pheatmap")
library("scales")
library("viridis")
library("patchwork")
library("Biostrings")
library("xfun")
library("tidyverse")
source("R/test_script_app2.R")

Parsing Raw Data

Parse input raw data and output QFeatures object instance given a CSV file path for different test cases.

# First test case
csv_filepath <- "/homes/sanjuan/R/x86_64-pc-linux-gnu-library/4.1/hdxstats/extdata/MBP.csv"

# CASE 1: Parse data, given input data file path + parameter file
hdx_data <- extract_hdx_data(csv_filepath, parameter_file = "vignettes/data/myparameters.hdxp")

# CASE 2: Parse data, given input data file path + list of parameters
data <- read_csv(csv_filepath)
myparameters <- make_parameter_file(data)
hdx_data <- extract_hdx_data(csv_filepath, parameters = myparameters)

# CASE 3: Parse data, given input data file path. Work out parameters for pre-processing using interactive mode
hdx_data <- extract_hdx_data(csv_filepath, parameter_file = "vignettes/data/myparameters.hdxp")

Data Analysis of Deuterium Uptake Kinetics

TEST 1:

Perform Data Analysis: Plain fitting

  • Deuterium-update fitting for all peptides
  • Plain fitting - not comparing against a reference state or condition
# INPUT
data_selection <- hdx_data[,1:24]
all_peptides <- rownames(data_selection)[[1]]
starting_parameters <- list(a = NULL, b = 0.001,  d = NULL, p = 1)
# OUTPUT
results <- analyse_kinetics(data = data_selection, 
                            method = "fit", 
                            peptide_selection = all_peptides, 
                            start = starting_parameters)
results$method

Visualise Output from Data Analysis

View fitting curves of Deu-uptake kinetics for all available conditions associated to selected peptides

graphics_kinetics <- visualise_hdx_data(results, type="kinetics") 
graphics_kinetics[[1]] | graphics_kinetics[[2]] | graphics_kinetics[[3]]

View forest plots showing the difference between uptake measurements between conditions, plus the dispersion between their respective fitting model parameters

graphics_forest <- visualise_hdx_data(results, type="forest")
graphics_forest[[1]] | graphics_forest[[2]] | graphics_forest[[3]]

Combine graphical outputs in a single canvas

graphics_forest[[1]] | graphics_kinetic[[1]]

Display numerical values as a table

graphics_forest[[1]]$data

Perform Data Analysis: Differential fitting

  • Deuterium-update fitting for data selection
  • Differential fitting - with respect to a single reference peptide
# INPUT 
data_selection <- hdx_data[,1:100]
all_peptides <- rownames(data_selection)[[1]] # get all peptides
starting_parameters <- list(a = NULL, b = 0.0001,  d = NULL, p = 1)

# OUTPUT
results <- analyse_kinetics(data = data_selection, 
                            method = "dfit", 
                            peptide_selection = all_peptides[37], 
                            start = starting_parameters)
graphics_kinetics <- visualise_hdx_data(results, type="kinetics")

View graphical output for reference peptide shown in LHS Top corner.

graphics_kinetics

TEST CASE 2

Single-domain antibody (sdAb) binding assays to HOIP.

csv_filepath <- "/homes/sanjuan/R/x86_64-pc-linux-gnu-library/4.1/hdxstats/extdata/N64184_1a2_state.csv" 
data <- read_csv(csv_filepath)
make_parameter_file(data, save = "vignettes/data/N64184_1a2_state.hdxp")
hdx_data <- extract_hdx_data(csv_filepath, parameter_file = "vignettes/data/N64184_1a2_state.hdxp")
# INPUT 
data_selection <- hdx_data[,1:33]
all_peptides <- rownames(data_selection)[[1]] # get all peptides
starting_parameters <- list(a = NULL, b = 0.01,  d = NULL)
formula = value ~ a * (1 - exp(-b*(timepoint))) + d

# OUTPUT
results <- analyse_kinetics(data = data_selection, 
                            method = "dfit", 
                            peptide_selection = all_peptides[3], 
                            start = starting_parameters,
                            formula = formula)
graphics <- visualise_hdx_data(results, type="kinetics")

custom_colors <- scale_color_manual(values = colorRampPalette(brewer.pal(8, name = "Set2"))(11))
graphics + custom_colors

TEST CASE 3

Original raw data

#csv_filepath <- "inst/extdata/Project_2_SecA_Cluster_Data.csv"
#data <- read_csv(csv_filepath)
#data$Replicate <- unlist(lapply(strsplit(data$File, split="_"), function(x) tail(x, n=1)))
#write_csv(data, file = "inst/extdata/Project_2_SecA_Cluster_Data_edited.csv")

csv_filepath <- "inst/extdata/Project_2_SecA_Cluster_Data_edited.csv"

Had to pre-process its content to add Replicate column

data <- read_csv(csv_filepath)
make_parameter_file(data, save = "vignettes/data/Project_2_SecA_Cluster_Data.hdxp")
hdx_data <- extract_hdx_data(csv_filepath, parameter_file = "vignettes/data/Project_2_SecA_Cluster_Data.hdxp")
[1] "INFO: You gave me a CSV file of your HDX-MSM data"
[1] "INFO: I will pre-process your data parse it using QFeatures ..."
[1] "INFO: You provided a 'parameter_file', I will extract parameters from this to format your output QFeatures data object."
[1] "INFO: You provided a list of 'parameters', I will extract parameters from this to format your output QFeatures data object."
[1] "INFO: Stripped your 'Exposure_Time' values from non-numeric characters."
[1] "INFO: Your original_time_units == 'm'. I will convert your 'Exposure_Time' values to seconds (s)."
[1] "INFO: Reformatting your data to a wide format..."
Note: Using an external vector in selections is ambiguous.
ℹ Use `all_of(columns_values)` instead of `columns_values` to silence this message.
ℹ See <https://tidyselect.r-lib.org/reference/faq-external-vector.html>.
This message is displayed once per session.Note: Using an external vector in selections is ambiguous.
ℹ Use `all_of(columns_fixed)` instead of `columns_fixed` to silence this message.
ℹ See <https://tidyselect.r-lib.org/reference/faq-external-vector.html>.
This message is displayed once per session.
[1] "INFO: Parsing your data as a qDF object class instance. Method: parseDeutData"
[1] "WARNING: Your output data is not normalised."
[1] "WARNING: Your output data was not saved. You can provide an output path with 'save = my_path'"
[1] "INFO: I pre-processed you input CSV data content and now it's available as a QFeatures instance"
pheatmap(t(assay(hdx_data)),
         cluster_rows = FALSE, 
         cluster_cols = FALSE,
         color = brewer.pal(n = 9, name = "BuPu"),
         main = "secA heatmap", 
         fontsize = 14,
         legend_breaks = c(0, 1, 2, 3, 4, 5, 6, max(assay(hdx_data))),
         legend_labels = c("0", "1", "2", "3", "4", "5", "6", "Incorporation"))
length(rownames(assay(hdx_data)))
[1] 449
# Extract all column values for a given peptide and charge state ( all states, all replicates, all timepoints)
peptide_charge <- "YESALKKANL_1" #"LGGTQ_1"
peptide_charge_data <- as.data.frame(assay(hdx_data))[peptide_charge, ]
peptide_charge_data <- longFormat(peptide_charge_data)
peptide_charge_data$condition <- as.factor(str_match(peptide_charge_data$colname, "cond\\s*(.*)")[, 2]) # Modify this for data analysis functions since they expect a numeric for replicates
peptide_charge_conditions <- unique(peptide_charge_data$condition)
# For a fixed confition
state <- "SecA"
ldf <- peptide_charge_data %>% subset(condition == state)
ldf$timepoint <- as.numeric(str_match(ldf$colname, "X\\s*(.*?)\\s*rep")[, 2])
ldf$replicates <- as.factor(str_match(ldf$colname, "rep\\s*(.*)\\s*cond")[, 2])
# Identify if number of replicates for 0 timepoint match for subsequent timepoints and report if not the case
#sum(ldf$timepoint == 0)
#length(unique(ldf$timepoint))
ldf$replicates <- unlist(lapply(strsplit(as.vector(as.factor(str_match(ldf$colname, "rep\\s*(.*)\\s*cond")[, 2])), split="_"), function(x) tail(x, n=1)))
# Subtract Deu uptake value at 0 timepoint
replicate_number <- 1
single_replicate_data <- ldf %>% subset(replicates == replicate_number)
x <- single_replicate_data %>% subset(timepoint == 0)
if (is.null(x$value)){
  print(x)
}else{
single_replicate_data$value <- single_replicate_data$value - x$value
print(single_replicate_data)
}
message <-paste("INFO: You have", length(rownames(assay(hdx_data))), "peptide-charge paired values")
print(message)
[1] "INFO: You have 449 peptide-charge paired values"
for (peptide_charge in rownames(assay(hdx_data))){
  peptide_charge_data <- as.data.frame(assay(hdx_data))[peptide_charge, ]
  peptide_charge_data <- longFormat(peptide_charge_data)
  peptide_charge_data$condition <- as.factor(str_match(peptide_charge_data$colname, "cond\\s*(.*)")[, 2])
  
  peptide_charge_conditions <- unique(peptide_charge_data$condition)
  message <- paste("INFO: For ", peptide_charge, ", you have", length(peptide_charge_conditions), "conditions")
  print(message)
  
  for (state in peptide_charge_conditions){
    ldf <- peptide_charge_data %>% subset(condition == state)
    ldf$timepoint <- as.numeric(str_match(ldf$colname, "X\\s*(.*?)\\s*rep")[, 2])
    ldf$replicates <- as.factor(str_match(ldf$colname, "rep\\s*(.*)\\s*cond")[, 2])
    
    ldf$replicates <- unlist(lapply(strsplit(as.vector(as.factor(str_match(ldf$colname, "rep\\s*(.*)\\s*cond")[, 2])), split="_"), function(x) tail(x, n=1)))
    # Subtract Deu uptake value at 0 timepoint
    message <- paste("INFO: You have", length(unique(ldf$replicates)), "replicates, for", state)
    print(message)
    
    for (n_replicate in unique(ldf$replicates)){
      single_replicate_data <- ldf %>% subset(replicates == n_replicate)
      x <- single_replicate_data %>% subset(timepoint == 0)
      
      if (is.null(x$value) | is.na(x$value)){
        print("Found a NULL or NA vakue for timepoint 0")
        print(x)
      }else{
        single_replicate_data$value <- single_replicate_data$value - x$value
        print(single_replicate_data)
      }
      if (any(single_replicate_data$value < 0) | any(is.na(single_replicate_data$value))){
        print("BEFORE")
        print(single_replicate_data)
        single_replicate_data$value <- single_replicate_data$value - x$value
        print("AFTER")
        print(single_replicate_data)
      }
    }
  }
}
[1] "INFO: For  LGGTQ_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  MLIKL_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  LIKLLT_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: For  IKLLT_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  IINAME_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: For  AMEPEM_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  MEPEM_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  EKLSDEELKGKTAE_3 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  EKLSDEELKGKTAEF_2 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: For  EELKGKTAEF_2 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  RARLEKGEVL_3 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: For  RARLEKGEVLE_3 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  RARLEKGEVLENL_2 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: For  EKGEV_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  ENLIPEA_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: For  ENLIPEAF_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  ENLIPEAF_2 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: For  ENLIPEAFA_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: For  ENLIPEAFA_2 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: For  NLIPEAF_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: For  LIPEAF_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: For  IPEAF_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: For  PEAF_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: For  PEAFA_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  MRHFDVQL_2 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  DVQLLGG_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: For  LLGGMVL_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  LGGMVL_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  LGGMVLNE_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  LGGMVLNE_2 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "Found a NULL or NA vakue for timepoint 0"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: For  MVLNE_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  NERSIAEM_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: For  MRTGEGKTLTATL_2 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  RTGEGKTLTATL_2 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: For  ATLPAYL_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: For  PAYL_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  PAYLNA_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  NALTGKGVHVVT_2 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  NALTGKGVHVVTVND_2 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: For  YLAQRDAENNRPLF_3 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  YLAQRDAENNRPLFE_2 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: For  AQRDAENNRPLFE_2 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: For  EFLGL_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  FLGL_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  FLGLTVG_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  LGLTVG_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  LTVGINLPGMPAPAKREAY_3 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  TVGINLPGMPAPAKREAYAAD_3 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: For  INLPGMPAPAKREAYAAD_2 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: For  LPGMPAP_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: For  ITYGTNNE_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: For  ITYGTNNEYGF_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  ITYGTNNEYGFD_2 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  NEYGF_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  NEYGFD_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  YGFD_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  DYLRDNMAFSPEE_2 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: For  YLRDNM_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: For  YLRDNMA_2 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: For  YLRDNMAFSPEE_2 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: For  NMAFSPEE_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  AFSPEE_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  FSPEE_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: For  VDEVD_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  EVDSIL_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  VDSIL_1 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  IDEARTPLIISGPAE_3 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "INFO: For  IDEARTPLIISGPAEDSSE_2 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 3 replicates, for SecAYEG_ADP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG_AMPPNP"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "INFO: You have 5 replicates, for SecA_ADP"
[1] "BEFORE"
[1] "AFTER"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 5 replicates, for SecA_AMPPNP"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: For  ARTPLIISGPAE_2 , you have 6 conditions"
[1] "INFO: You have 5 replicates, for SecA"
[1] "BEFORE"
[1] "AFTER"
[1] "INFO: You have 3 replicates, for SecAYEG"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
the condition has length > 1 and only the first element will be used
[1] "BEFORE"
[1] "AFTER"
graphics <- visualise_hdx_data(results, type="kinetics") # READY
graphics <- visualise_hdx_data(results, type="forest") # READY

# NOTE: This only works to compare ONLY TWO distinct conditions, for the same timepoint, for all peptide fragments
# This needs to define a BASELINE state/condition and an ALTERNATE sate/condition
# NOTE: Data must be normalised by intercept 
graphics <- visualise_hdx_data(results, type="manhatten", reference = NULL)# <<<<--- NEXT

# NOTE: NOT SURE ??
graphics <- visualise_hdx_data(results, type="epitope", level="peptide", fasta = "my_fasta_path") # Return an EpitopeMap
graphics <- visualise_hdx_data(results, type="epitope", level="residue", fasta = "my_fasta_path") # Return heatmap
graphics <- visualise_hdx_data(results, type="epitope", level="residue", pdb="my_pdb_path") # Return heatmap projected onto PDB

graphics <- visualise_hdx_data(results, type="protection", level="peptide") # Return heatmap for peptide residue-number ranges
graphics <- visualise_hdx_data(results, type="protection", level="residue", fasta = "my_fasta_path") # Return heatmap
graphics <- visualise_hdx_data(results, type="protection", level="residue", pdb="my_pdb_path") # Return heatmap projected onto PDB

# GUI: Make GUI by assembling these building blocks
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKIyBMb2FkIHJlcXVpcmVkIGxpYnJhcmllcwoKYGBge3J9CmxpYnJhcnkoImhkeHN0YXRzIikKbGlicmFyeSgiZHBseXIiKQpsaWJyYXJ5KCJnZ3Bsb3QyIikKbGlicmFyeSgiUkNvbG9yQnJld2VyIikKbGlicmFyeSgidGlkeXIiKQpsaWJyYXJ5KCJwaGVhdG1hcCIpCmxpYnJhcnkoInNjYWxlcyIpCmxpYnJhcnkoInZpcmlkaXMiKQpsaWJyYXJ5KCJwYXRjaHdvcmsiKQpsaWJyYXJ5KCJCaW9zdHJpbmdzIikKbGlicmFyeSgieGZ1biIpCmxpYnJhcnkoInRpZHl2ZXJzZSIpCmBgYAoKYGBge3J9CnNvdXJjZSgiUi90ZXN0X3NjcmlwdF9hcHAyLlIiKQpgYGAKCgojIFBhcnNpbmcgUmF3IERhdGEKClBhcnNlIGlucHV0IHJhdyBkYXRhIGFuZCBvdXRwdXQgYFFGZWF0dXJlc2Agb2JqZWN0IGluc3RhbmNlIGdpdmVuIGEgQ1NWIGZpbGUgcGF0aCBmb3IgZGlmZmVyZW50IHRlc3QgY2FzZXMuCgpgYGB7cn0KIyBGaXJzdCB0ZXN0IGNhc2UKY3N2X2ZpbGVwYXRoIDwtICIvaG9tZXMvc2FuanVhbi9SL3g4Nl82NC1wYy1saW51eC1nbnUtbGlicmFyeS80LjEvaGR4c3RhdHMvZXh0ZGF0YS9NQlAuY3N2IgoKIyBDQVNFIDE6IFBhcnNlIGRhdGEsIGdpdmVuIGlucHV0IGRhdGEgZmlsZSBwYXRoICsgcGFyYW1ldGVyIGZpbGUKaGR4X2RhdGEgPC0gZXh0cmFjdF9oZHhfZGF0YShjc3ZfZmlsZXBhdGgsIHBhcmFtZXRlcl9maWxlID0gInZpZ25ldHRlcy9kYXRhL215cGFyYW1ldGVycy5oZHhwIikKCiMgQ0FTRSAyOiBQYXJzZSBkYXRhLCBnaXZlbiBpbnB1dCBkYXRhIGZpbGUgcGF0aCArIGxpc3Qgb2YgcGFyYW1ldGVycwpkYXRhIDwtIHJlYWRfY3N2KGNzdl9maWxlcGF0aCkKbXlwYXJhbWV0ZXJzIDwtIG1ha2VfcGFyYW1ldGVyX2ZpbGUoZGF0YSkKaGR4X2RhdGEgPC0gZXh0cmFjdF9oZHhfZGF0YShjc3ZfZmlsZXBhdGgsIHBhcmFtZXRlcnMgPSBteXBhcmFtZXRlcnMpCgojIENBU0UgMzogUGFyc2UgZGF0YSwgZ2l2ZW4gaW5wdXQgZGF0YSBmaWxlIHBhdGguIFdvcmsgb3V0IHBhcmFtZXRlcnMgZm9yIHByZS1wcm9jZXNzaW5nIHVzaW5nIGludGVyYWN0aXZlIG1vZGUKCmBgYApgYGB7cn0KaGR4X2RhdGEgPC0gZXh0cmFjdF9oZHhfZGF0YShjc3ZfZmlsZXBhdGgsIHBhcmFtZXRlcl9maWxlID0gInZpZ25ldHRlcy9kYXRhL215cGFyYW1ldGVycy5oZHhwIikKYGBgCgoKIyBEYXRhIEFuYWx5c2lzIG9mIERldXRlcml1bSBVcHRha2UgS2luZXRpY3MKCiMjIFRFU1QgMToKCiMjIyBQZXJmb3JtIERhdGEgQW5hbHlzaXM6IFBsYWluIGZpdHRpbmcKCiogRGV1dGVyaXVtLXVwZGF0ZSBmaXR0aW5nIGZvciBhbGwgcGVwdGlkZXMKKiBQbGFpbiBmaXR0aW5nIC0gbm90IGNvbXBhcmluZyBhZ2FpbnN0IGEgcmVmZXJlbmNlIHN0YXRlIG9yIGNvbmRpdGlvbgoKYGBge3J9CiMgSU5QVVQKZGF0YV9zZWxlY3Rpb24gPC0gaGR4X2RhdGFbLDE6MjRdCmFsbF9wZXB0aWRlcyA8LSByb3duYW1lcyhkYXRhX3NlbGVjdGlvbilbWzFdXQpzdGFydGluZ19wYXJhbWV0ZXJzIDwtIGxpc3QoYSA9IE5VTEwsIGIgPSAwLjAwMSwgIGQgPSBOVUxMLCBwID0gMSkKIyBPVVRQVVQKcmVzdWx0cyA8LSBhbmFseXNlX2tpbmV0aWNzKGRhdGEgPSBkYXRhX3NlbGVjdGlvbiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2QgPSAiZml0IiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXB0aWRlX3NlbGVjdGlvbiA9IGFsbF9wZXB0aWRlcywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydCA9IHN0YXJ0aW5nX3BhcmFtZXRlcnMpCmBgYAoKYGBge3J9CnJlc3VsdHMkbWV0aG9kCmBgYAoKIyMjIFZpc3VhbGlzZSBPdXRwdXQgZnJvbSBEYXRhIEFuYWx5c2lzCgpWaWV3IGZpdHRpbmcgY3VydmVzIG9mIERldS11cHRha2Uga2luZXRpY3MgZm9yIGFsbCBhdmFpbGFibGUgY29uZGl0aW9ucyBhc3NvY2lhdGVkIHRvIHNlbGVjdGVkIHBlcHRpZGVzCgpgYGB7ciwgZmlnLndpZHRoPSAyMiwgZmlnLmhlaWdodCA9IDd9CmdyYXBoaWNzX2tpbmV0aWNzIDwtIHZpc3VhbGlzZV9oZHhfZGF0YShyZXN1bHRzLCB0eXBlPSJraW5ldGljcyIpIApncmFwaGljc19raW5ldGljc1tbMV1dIHwgZ3JhcGhpY3Nfa2luZXRpY3NbWzJdXSB8IGdyYXBoaWNzX2tpbmV0aWNzW1szXV0KYGBgCgpWaWV3IGZvcmVzdCBwbG90cyBzaG93aW5nIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdXB0YWtlIG1lYXN1cmVtZW50cyBiZXR3ZWVuIGNvbmRpdGlvbnMsIHBsdXMgdGhlIGRpc3BlcnNpb24gYmV0d2VlbiB0aGVpciByZXNwZWN0aXZlIGZpdHRpbmcgbW9kZWwgcGFyYW1ldGVycwoKYGBge3IsIGZpZy53aWR0aD0gMjIsIGZpZy5oZWlnaHQgPSAxMH0KZ3JhcGhpY3NfZm9yZXN0IDwtIHZpc3VhbGlzZV9oZHhfZGF0YShyZXN1bHRzLCB0eXBlPSJmb3Jlc3QiKQpncmFwaGljc19mb3Jlc3RbWzFdXSB8IGdyYXBoaWNzX2ZvcmVzdFtbMl1dIHwgZ3JhcGhpY3NfZm9yZXN0W1szXV0KYGBgCgpDb21iaW5lIGdyYXBoaWNhbCBvdXRwdXRzIGluIGEgc2luZ2xlIGNhbnZhcwoKYGBge3IsIGZpZy53aWR0aD0gMjIsIGZpZy5oZWlnaHQgPSAxMH0KZ3JhcGhpY3NfZm9yZXN0W1sxXV0gfCBncmFwaGljc19raW5ldGljW1sxXV0KYGBgCkRpc3BsYXkgbnVtZXJpY2FsIHZhbHVlcyBhcyBhIHRhYmxlIAoKYGBge3J9CmdyYXBoaWNzX2ZvcmVzdFtbMV1dJGRhdGEKYGBgCgojIyMgUGVyZm9ybSBEYXRhIEFuYWx5c2lzOiBEaWZmZXJlbnRpYWwgZml0dGluZwoKKiBEZXV0ZXJpdW0tdXBkYXRlIGZpdHRpbmcgZm9yIGRhdGEgc2VsZWN0aW9uIAoqIERpZmZlcmVudGlhbCBmaXR0aW5nIC0gd2l0aCByZXNwZWN0IHRvIGEgKnNpbmdsZSByZWZlcmVuY2UqIHBlcHRpZGUKCmBgYHtyfQojIElOUFVUIApkYXRhX3NlbGVjdGlvbiA8LSBoZHhfZGF0YVssMToxMDBdCmFsbF9wZXB0aWRlcyA8LSByb3duYW1lcyhkYXRhX3NlbGVjdGlvbilbWzFdXSAjIGdldCBhbGwgcGVwdGlkZXMKc3RhcnRpbmdfcGFyYW1ldGVycyA8LSBsaXN0KGEgPSBOVUxMLCBiID0gMC4wMDAxLCAgZCA9IE5VTEwsIHAgPSAxKQoKIyBPVVRQVVQKcmVzdWx0cyA8LSBhbmFseXNlX2tpbmV0aWNzKGRhdGEgPSBkYXRhX3NlbGVjdGlvbiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2QgPSAiZGZpdCIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVwdGlkZV9zZWxlY3Rpb24gPSBhbGxfcGVwdGlkZXNbMzddLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0ID0gc3RhcnRpbmdfcGFyYW1ldGVycykKCmBgYAoKYGBge3J9CmdyYXBoaWNzX2tpbmV0aWNzIDwtIHZpc3VhbGlzZV9oZHhfZGF0YShyZXN1bHRzLCB0eXBlPSJraW5ldGljcyIpCmBgYAoKVmlldyBncmFwaGljYWwgb3V0cHV0IGZvciByZWZlcmVuY2UgcGVwdGlkZSBzaG93biBpbiBMSFMgVG9wIGNvcm5lci4gCgpgYGB7cn0KZ3JhcGhpY3Nfa2luZXRpY3MKYGBgCgojIyBURVNUIENBU0UgMgoKU2luZ2xlLWRvbWFpbiBhbnRpYm9keSAoc2RBYikgYmluZGluZyBhc3NheXMgdG8gSE9JUC4KCgpgYGB7cn0KY3N2X2ZpbGVwYXRoIDwtICIvaG9tZXMvc2FuanVhbi9SL3g4Nl82NC1wYy1saW51eC1nbnUtbGlicmFyeS80LjEvaGR4c3RhdHMvZXh0ZGF0YS9ONjQxODRfMWEyX3N0YXRlLmNzdiIgCmBgYAoKCmBgYHtyfQpkYXRhIDwtIHJlYWRfY3N2KGNzdl9maWxlcGF0aCkKbWFrZV9wYXJhbWV0ZXJfZmlsZShkYXRhLCBzYXZlID0gInZpZ25ldHRlcy9kYXRhL042NDE4NF8xYTJfc3RhdGUuaGR4cCIpCmBgYAoKCmBgYHtyfQpoZHhfZGF0YSA8LSBleHRyYWN0X2hkeF9kYXRhKGNzdl9maWxlcGF0aCwgcGFyYW1ldGVyX2ZpbGUgPSAidmlnbmV0dGVzL2RhdGEvTjY0MTg0XzFhMl9zdGF0ZS5oZHhwIikKYGBgCgoKYGBge3J9CiMgSU5QVVQgCmRhdGFfc2VsZWN0aW9uIDwtIGhkeF9kYXRhWywxOjMzXQphbGxfcGVwdGlkZXMgPC0gcm93bmFtZXMoZGF0YV9zZWxlY3Rpb24pW1sxXV0gIyBnZXQgYWxsIHBlcHRpZGVzCnN0YXJ0aW5nX3BhcmFtZXRlcnMgPC0gbGlzdChhID0gTlVMTCwgYiA9IDAuMDEsICBkID0gTlVMTCkKZm9ybXVsYSA9IHZhbHVlIH4gYSAqICgxIC0gZXhwKC1iKih0aW1lcG9pbnQpKSkgKyBkCgojIE9VVFBVVApyZXN1bHRzIDwtIGFuYWx5c2Vfa2luZXRpY3MoZGF0YSA9IGRhdGFfc2VsZWN0aW9uLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZCA9ICJkZml0IiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXB0aWRlX3NlbGVjdGlvbiA9IGFsbF9wZXB0aWRlc1szXSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydCA9IHN0YXJ0aW5nX3BhcmFtZXRlcnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtdWxhID0gZm9ybXVsYSkKYGBgCgoKYGBge3J9CmdyYXBoaWNzIDwtIHZpc3VhbGlzZV9oZHhfZGF0YShyZXN1bHRzLCB0eXBlPSJraW5ldGljcyIpCgpjdXN0b21fY29sb3JzIDwtIHNjYWxlX2NvbG9yX21hbnVhbCh2YWx1ZXMgPSBjb2xvclJhbXBQYWxldHRlKGJyZXdlci5wYWwoOCwgbmFtZSA9ICJTZXQyIikpKDExKSkKZ3JhcGhpY3MgKyBjdXN0b21fY29sb3JzCmBgYAoKCiMgVEVTVCBDQVNFIDMKCk9yaWdpbmFsIHJhdyBkYXRhCmBgYHtyfQojY3N2X2ZpbGVwYXRoIDwtICJpbnN0L2V4dGRhdGEvUHJvamVjdF8yX1NlY0FfQ2x1c3Rlcl9EYXRhLmNzdiIKI2RhdGEgPC0gcmVhZF9jc3YoY3N2X2ZpbGVwYXRoKQojZGF0YSRSZXBsaWNhdGUgPC0gdW5saXN0KGxhcHBseShzdHJzcGxpdChkYXRhJEZpbGUsIHNwbGl0PSJfIiksIGZ1bmN0aW9uKHgpIHRhaWwoeCwgbj0xKSkpCiN3cml0ZV9jc3YoZGF0YSwgZmlsZSA9ICJpbnN0L2V4dGRhdGEvUHJvamVjdF8yX1NlY0FfQ2x1c3Rlcl9EYXRhX2VkaXRlZC5jc3YiKQoKY3N2X2ZpbGVwYXRoIDwtICJpbnN0L2V4dGRhdGEvUHJvamVjdF8yX1NlY0FfQ2x1c3Rlcl9EYXRhX2VkaXRlZC5jc3YiCmBgYAoKSGFkIHRvIHByZS1wcm9jZXNzIGl0cyBjb250ZW50IHRvIGFkZCBSZXBsaWNhdGUgY29sdW1uCgpgYGB7cn0KZGF0YSA8LSByZWFkX2Nzdihjc3ZfZmlsZXBhdGgpCm1ha2VfcGFyYW1ldGVyX2ZpbGUoZGF0YSwgc2F2ZSA9ICJ2aWduZXR0ZXMvZGF0YS9Qcm9qZWN0XzJfU2VjQV9DbHVzdGVyX0RhdGEuaGR4cCIpCmBgYAoKYGBge3J9CmhkeF9kYXRhIDwtIGV4dHJhY3RfaGR4X2RhdGEoY3N2X2ZpbGVwYXRoLCBwYXJhbWV0ZXJfZmlsZSA9ICJ2aWduZXR0ZXMvZGF0YS9Qcm9qZWN0XzJfU2VjQV9DbHVzdGVyX0RhdGEuaGR4cCIpCmBgYAoKCmBgYHtyLCBmaWcuaGVpZ2h0ID0gMjAsIGZpZy53aWR0aCA9IDgwLCBmaWcuYWxpZ24gPSAiY2VudGVyIn0KcGhlYXRtYXAodChhc3NheShoZHhfZGF0YSkpLAogICAgICAgICBjbHVzdGVyX3Jvd3MgPSBGQUxTRSwgCiAgICAgICAgIGNsdXN0ZXJfY29scyA9IEZBTFNFLAogICAgICAgICBjb2xvciA9IGJyZXdlci5wYWwobiA9IDksIG5hbWUgPSAiQnVQdSIpLAogICAgICAgICBtYWluID0gInNlY0EgaGVhdG1hcCIsIAogICAgICAgICBmb250c2l6ZSA9IDE0LAogICAgICAgICBsZWdlbmRfYnJlYWtzID0gYygwLCAxLCAyLCAzLCA0LCA1LCA2LCBtYXgoYXNzYXkoaGR4X2RhdGEpKSksCiAgICAgICAgIGxlZ2VuZF9sYWJlbHMgPSBjKCIwIiwgIjEiLCAiMiIsICIzIiwgIjQiLCAiNSIsICI2IiwgIkluY29ycG9yYXRpb24iKSkKYGBgCgoKYGBge3J9CiMgRmluZCBvdXQgaG93IG1hbnkgdW5pcXVlIHBlcHRpZGVzIGFuZCBjaGFyZ2Ugc3RhdGVzIGV4aXN0Cmxlbmd0aChyb3duYW1lcyhhc3NheShoZHhfZGF0YSkpKQojIEV4dHJhY3QgYWxsIGNvbHVtbiB2YWx1ZXMgZm9yIGEgZ2l2ZW4gcGVwdGlkZSBhbmQgY2hhcmdlIHN0YXRlICggYWxsIHN0YXRlcywgYWxsIHJlcGxpY2F0ZXMsIGFsbCB0aW1lcG9pbnRzKQpwZXB0aWRlX2NoYXJnZSA8LSAiWUVTQUxLS0FOTF8xIiAjIkxHR1RRXzEiCnBlcHRpZGVfY2hhcmdlX2RhdGEgPC0gYXMuZGF0YS5mcmFtZShhc3NheShoZHhfZGF0YSkpW3BlcHRpZGVfY2hhcmdlLCBdCnBlcHRpZGVfY2hhcmdlX2RhdGEgPC0gbG9uZ0Zvcm1hdChwZXB0aWRlX2NoYXJnZV9kYXRhKQpwZXB0aWRlX2NoYXJnZV9kYXRhJGNvbmRpdGlvbiA8LSBhcy5mYWN0b3Ioc3RyX21hdGNoKHBlcHRpZGVfY2hhcmdlX2RhdGEkY29sbmFtZSwgImNvbmRcXHMqKC4qKSIpWywgMl0pICMgTW9kaWZ5IHRoaXMgZm9yIGRhdGEgYW5hbHlzaXMgZnVuY3Rpb25zIHNpbmNlIHRoZXkgZXhwZWN0IGEgbnVtZXJpYyBmb3IgcmVwbGljYXRlcwpwZXB0aWRlX2NoYXJnZV9jb25kaXRpb25zIDwtIHVuaXF1ZShwZXB0aWRlX2NoYXJnZV9kYXRhJGNvbmRpdGlvbikKIyBGb3IgYSBmaXhlZCBjb25maXRpb24Kc3RhdGUgPC0gIlNlY0EiCmxkZiA8LSBwZXB0aWRlX2NoYXJnZV9kYXRhICU+JSBzdWJzZXQoY29uZGl0aW9uID09IHN0YXRlKQpsZGYkdGltZXBvaW50IDwtIGFzLm51bWVyaWMoc3RyX21hdGNoKGxkZiRjb2xuYW1lLCAiWFxccyooLio/KVxccypyZXAiKVssIDJdKQpsZGYkcmVwbGljYXRlcyA8LSBhcy5mYWN0b3Ioc3RyX21hdGNoKGxkZiRjb2xuYW1lLCAicmVwXFxzKiguKilcXHMqY29uZCIpWywgMl0pCiMgSWRlbnRpZnkgaWYgbnVtYmVyIG9mIHJlcGxpY2F0ZXMgZm9yIDAgdGltZXBvaW50IG1hdGNoIGZvciBzdWJzZXF1ZW50IHRpbWVwb2ludHMgYW5kIHJlcG9ydCBpZiBub3QgdGhlIGNhc2UKI3N1bShsZGYkdGltZXBvaW50ID09IDApCiNsZW5ndGgodW5pcXVlKGxkZiR0aW1lcG9pbnQpKQpsZGYkcmVwbGljYXRlcyA8LSB1bmxpc3QobGFwcGx5KHN0cnNwbGl0KGFzLnZlY3Rvcihhcy5mYWN0b3Ioc3RyX21hdGNoKGxkZiRjb2xuYW1lLCAicmVwXFxzKiguKilcXHMqY29uZCIpWywgMl0pKSwgc3BsaXQ9Il8iKSwgZnVuY3Rpb24oeCkgdGFpbCh4LCBuPTEpKSkKIyBTdWJ0cmFjdCBEZXUgdXB0YWtlIHZhbHVlIGF0IDAgdGltZXBvaW50CnJlcGxpY2F0ZV9udW1iZXIgPC0gMQpzaW5nbGVfcmVwbGljYXRlX2RhdGEgPC0gbGRmICU+JSBzdWJzZXQocmVwbGljYXRlcyA9PSByZXBsaWNhdGVfbnVtYmVyKQp4IDwtIHNpbmdsZV9yZXBsaWNhdGVfZGF0YSAlPiUgc3Vic2V0KHRpbWVwb2ludCA9PSAwKQppZiAoaXMubnVsbCh4JHZhbHVlKSB8IGlzLm5hKHgkdmFsdWUpKXsKICBwcmludCgiRm91bmQgYSBOVUxMIG9yIE5BIHZha3VlIGZvciB0aW1lcG9pbnQgMCIpCiAgcHJpbnQoeCkKfWVsc2V7CnNpbmdsZV9yZXBsaWNhdGVfZGF0YSR2YWx1ZSA8LSBzaW5nbGVfcmVwbGljYXRlX2RhdGEkdmFsdWUgLSB4JHZhbHVlCnByaW50KHNpbmdsZV9yZXBsaWNhdGVfZGF0YSkKfQpgYGAKCgpgYGB7cn0KbWVzc2FnZSA8LXBhc3RlKCJJTkZPOiBZb3UgaGF2ZSIsIGxlbmd0aChyb3duYW1lcyhhc3NheShoZHhfZGF0YSkpKSwgInBlcHRpZGUtY2hhcmdlIHBhaXJlZCB2YWx1ZXMiKQpwcmludChtZXNzYWdlKQpmb3IgKHBlcHRpZGVfY2hhcmdlIGluIHJvd25hbWVzKGFzc2F5KGhkeF9kYXRhKSkpewogIHBlcHRpZGVfY2hhcmdlX2RhdGEgPC0gYXMuZGF0YS5mcmFtZShhc3NheShoZHhfZGF0YSkpW3BlcHRpZGVfY2hhcmdlLCBdCiAgcGVwdGlkZV9jaGFyZ2VfZGF0YSA8LSBsb25nRm9ybWF0KHBlcHRpZGVfY2hhcmdlX2RhdGEpCiAgcGVwdGlkZV9jaGFyZ2VfZGF0YSRjb25kaXRpb24gPC0gYXMuZmFjdG9yKHN0cl9tYXRjaChwZXB0aWRlX2NoYXJnZV9kYXRhJGNvbG5hbWUsICJjb25kXFxzKiguKikiKVssIDJdKQogIAogIHBlcHRpZGVfY2hhcmdlX2NvbmRpdGlvbnMgPC0gdW5pcXVlKHBlcHRpZGVfY2hhcmdlX2RhdGEkY29uZGl0aW9uKQogIG1lc3NhZ2UgPC0gcGFzdGUoIklORk86IEZvciAiLCBwZXB0aWRlX2NoYXJnZSwgIiwgeW91IGhhdmUiLCBsZW5ndGgocGVwdGlkZV9jaGFyZ2VfY29uZGl0aW9ucyksICJjb25kaXRpb25zIikKICBwcmludChtZXNzYWdlKQogIAogIGZvciAoc3RhdGUgaW4gcGVwdGlkZV9jaGFyZ2VfY29uZGl0aW9ucyl7CiAgICBsZGYgPC0gcGVwdGlkZV9jaGFyZ2VfZGF0YSAlPiUgc3Vic2V0KGNvbmRpdGlvbiA9PSBzdGF0ZSkKICAgIGxkZiR0aW1lcG9pbnQgPC0gYXMubnVtZXJpYyhzdHJfbWF0Y2gobGRmJGNvbG5hbWUsICJYXFxzKiguKj8pXFxzKnJlcCIpWywgMl0pCiAgICBsZGYkcmVwbGljYXRlcyA8LSBhcy5mYWN0b3Ioc3RyX21hdGNoKGxkZiRjb2xuYW1lLCAicmVwXFxzKiguKilcXHMqY29uZCIpWywgMl0pCiAgICAKICAgIGxkZiRyZXBsaWNhdGVzIDwtIHVubGlzdChsYXBwbHkoc3Ryc3BsaXQoYXMudmVjdG9yKGFzLmZhY3RvcihzdHJfbWF0Y2gobGRmJGNvbG5hbWUsICJyZXBcXHMqKC4qKVxccypjb25kIilbLCAyXSkpLCBzcGxpdD0iXyIpLCBmdW5jdGlvbih4KSB0YWlsKHgsIG49MSkpKQogICAgIyBTdWJ0cmFjdCBEZXUgdXB0YWtlIHZhbHVlIGF0IDAgdGltZXBvaW50CiAgICBtZXNzYWdlIDwtIHBhc3RlKCJJTkZPOiBZb3UgaGF2ZSIsIGxlbmd0aCh1bmlxdWUobGRmJHJlcGxpY2F0ZXMpKSwgInJlcGxpY2F0ZXMsIGZvciIsIHN0YXRlKQogICAgcHJpbnQobWVzc2FnZSkKICAgIAogICAgZm9yIChuX3JlcGxpY2F0ZSBpbiB1bmlxdWUobGRmJHJlcGxpY2F0ZXMpKXsKICAgICAgc2luZ2xlX3JlcGxpY2F0ZV9kYXRhIDwtIGxkZiAlPiUgc3Vic2V0KHJlcGxpY2F0ZXMgPT0gbl9yZXBsaWNhdGUpCiAgICAgIHggPC0gc2luZ2xlX3JlcGxpY2F0ZV9kYXRhICU+JSBzdWJzZXQodGltZXBvaW50ID09IDApCiAgICAgIAogICAgICBpZiAoaXMubnVsbCh4JHZhbHVlKSB8IGlzLm5hKHgkdmFsdWUpKXsKICAgICAgICBwcmludCgiRm91bmQgYSBOVUxMIG9yIE5BIHZha3VlIGZvciB0aW1lcG9pbnQgMCIpCiAgICAgICAgcHJpbnQoeCkKICAgICAgfWVsc2V7CiAgICAgICAgc2luZ2xlX3JlcGxpY2F0ZV9kYXRhJHZhbHVlIDwtIHNpbmdsZV9yZXBsaWNhdGVfZGF0YSR2YWx1ZSAtIHgkdmFsdWUKICAgICAgICBwcmludChzaW5nbGVfcmVwbGljYXRlX2RhdGEpCiAgICAgIH0KICAgICAgaWYgKGFueShzaW5nbGVfcmVwbGljYXRlX2RhdGEkdmFsdWUgPCAwKSB8IGFueShpcy5uYShzaW5nbGVfcmVwbGljYXRlX2RhdGEkdmFsdWUpKSl7CiAgICAgICAgcHJpbnQoIkJFRk9SRSIpCiAgICAgICAgcHJpbnQoc2luZ2xlX3JlcGxpY2F0ZV9kYXRhKQogICAgICAgIHNpbmdsZV9yZXBsaWNhdGVfZGF0YSR2YWx1ZSA8LSBzaW5nbGVfcmVwbGljYXRlX2RhdGEkdmFsdWUgLSB4JHZhbHVlCiAgICAgICAgcHJpbnQoIkFGVEVSIikKICAgICAgICBwcmludChzaW5nbGVfcmVwbGljYXRlX2RhdGEpCiAgICAgIH0KICAgIH0KICB9Cn0KYGBgCgoKYGBge3J9CmdyYXBoaWNzIDwtIHZpc3VhbGlzZV9oZHhfZGF0YShyZXN1bHRzLCB0eXBlPSJraW5ldGljcyIpICMgUkVBRFkKZ3JhcGhpY3MgPC0gdmlzdWFsaXNlX2hkeF9kYXRhKHJlc3VsdHMsIHR5cGU9ImZvcmVzdCIpICMgUkVBRFkKCiMgTk9URTogVGhpcyBvbmx5IHdvcmtzIHRvIGNvbXBhcmUgT05MWSBUV08gZGlzdGluY3QgY29uZGl0aW9ucywgZm9yIHRoZSBzYW1lIHRpbWVwb2ludCwgZm9yIGFsbCBwZXB0aWRlIGZyYWdtZW50cwojIFRoaXMgbmVlZHMgdG8gZGVmaW5lIGEgQkFTRUxJTkUgc3RhdGUvY29uZGl0aW9uIGFuZCBhbiBBTFRFUk5BVEUgc2F0ZS9jb25kaXRpb24KIyBOT1RFOiBEYXRhIG11c3QgYmUgbm9ybWFsaXNlZCBieSBpbnRlcmNlcHQgCmdyYXBoaWNzIDwtIHZpc3VhbGlzZV9oZHhfZGF0YShyZXN1bHRzLCB0eXBlPSJtYW5oYXR0ZW4iLCByZWZlcmVuY2UgPSBOVUxMKSMgPDw8PC0tLSBORVhUCgojIE5PVEU6IE5PVCBTVVJFID8/CmdyYXBoaWNzIDwtIHZpc3VhbGlzZV9oZHhfZGF0YShyZXN1bHRzLCB0eXBlPSJlcGl0b3BlIiwgbGV2ZWw9InBlcHRpZGUiLCBmYXN0YSA9ICJteV9mYXN0YV9wYXRoIikgIyBSZXR1cm4gYW4gRXBpdG9wZU1hcApncmFwaGljcyA8LSB2aXN1YWxpc2VfaGR4X2RhdGEocmVzdWx0cywgdHlwZT0iZXBpdG9wZSIsIGxldmVsPSJyZXNpZHVlIiwgZmFzdGEgPSAibXlfZmFzdGFfcGF0aCIpICMgUmV0dXJuIGhlYXRtYXAKZ3JhcGhpY3MgPC0gdmlzdWFsaXNlX2hkeF9kYXRhKHJlc3VsdHMsIHR5cGU9ImVwaXRvcGUiLCBsZXZlbD0icmVzaWR1ZSIsIHBkYj0ibXlfcGRiX3BhdGgiKSAjIFJldHVybiBoZWF0bWFwIHByb2plY3RlZCBvbnRvIFBEQgoKZ3JhcGhpY3MgPC0gdmlzdWFsaXNlX2hkeF9kYXRhKHJlc3VsdHMsIHR5cGU9InByb3RlY3Rpb24iLCBsZXZlbD0icGVwdGlkZSIpICMgUmV0dXJuIGhlYXRtYXAgZm9yIHBlcHRpZGUgcmVzaWR1ZS1udW1iZXIgcmFuZ2VzCmdyYXBoaWNzIDwtIHZpc3VhbGlzZV9oZHhfZGF0YShyZXN1bHRzLCB0eXBlPSJwcm90ZWN0aW9uIiwgbGV2ZWw9InJlc2lkdWUiLCBmYXN0YSA9ICJteV9mYXN0YV9wYXRoIikgIyBSZXR1cm4gaGVhdG1hcApncmFwaGljcyA8LSB2aXN1YWxpc2VfaGR4X2RhdGEocmVzdWx0cywgdHlwZT0icHJvdGVjdGlvbiIsIGxldmVsPSJyZXNpZHVlIiwgcGRiPSJteV9wZGJfcGF0aCIpICMgUmV0dXJuIGhlYXRtYXAgcHJvamVjdGVkIG9udG8gUERCCgojIEdVSTogTWFrZSBHVUkgYnkgYXNzZW1ibGluZyB0aGVzZSBidWlsZGluZyBibG9ja3MKCmBgYAoK